package com.emanga.emanga.app.deserializers; import com.emanga.emanga.app.models.Page; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.NullNode; import java.io.IOException; /** * Created by Ciro on 10/03/14. */ public class PageDeserializer extends JsonDeserializer<Page> { @Override public Page deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.getCodec().readTree(jp); String _id = node.get("_id").get("$oid").asText(); Integer number = null; JsonNode numberNode = node.get("number"); if(numberNode != null && !(numberNode instanceof NullNode)){ number = numberNode.asInt(); } String url = null; JsonNode urlNode = node.get("url"); if(urlNode != null && !(urlNode instanceof NullNode)){ url = urlNode.asText(); } return new Page(_id, number, url, null); } }